A computer network is a collection of interconnected computing devices that exchange data and share resources. In a packet-based network, such as the Internet, the computing devices communicate data by dividing the data into small blocks called packets, which are individually routed across the network from a source device to a destination device. Certain devices, referred to as routers, maintain routing information that describes routes through the network. A “route” can generally be defined as a path between two locations on the network. Upon receiving an incoming packet, the router examines information within the packet and forwards the packet in accordance with the routing information.
In order to maintain an accurate representation of the network as a whole, routers periodically exchange routing information in accordance with defined protocols. These routing protocols generally fall into two categories. Routers located at the edges of different autonomous systems generally use exterior routing protocols to exchange information. One example of an exterior routing protocol is the Border Gateway Protocol (BGP). Routers within an autonomous system generally utilize interior routing protocols for exchanging routing information. One example of an interior routing protocol is the Intermediate System to Intermediate System (ISIS) protocol, which is an interior gateway routing protocol for IP-based networks. Other examples of interior routing protocols include the Open Shortest Path First (OSPF), and the Routing Information Protocol (RIP).
When two routers initially connect, they typically exchange routing information that describes the routes of which each router is aware. The routers send control messages to incrementally update the routing information when the network topology changes. For example, the routers may send update messages to advertise newly available routes, and to withdraw routes that are no longer available.
Large computer networks, such as the Internet, often include many routers grouped into administrative domains called “autonomous systems.” These autonomous systems include service provider networks and customer networks. A service provider network typically includes a management station through which the service provider manually sets up and configures devices in the network, configures and manages services provided, such as virtual private networks, active performance measurement services, inventory management, device management services, Quality of Service (QoS), security services, service level agreements, and/or other services, or otherwise manage operation of the service provider network itself and of the customer networks it serves.
Setting up these services requires significant manual labor. For example, each network device that is part of the service must be manually configured by the service provider. Thus, each time a new service is initiated, or each time a customer premise device is added to an already established service, the service provider must manually configured not only the new customer premise device as part of the service, but must also manually configured all other customer premise devices at every other customer site already part of the service to inform them that the new customer site or device has been added. This process is time consuming and requires significant manual labor.